<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://webservices.groove.net/Groove/2.0/Spaces/" xmlns:gc="http://webservices.groove.net/Groove/2.0/Core/" xmlns:e="http://webservices.groove.net/Groove/2.0/Events/" elementFormDefault="qualified" targetNamespace="http://webservices.groove.net/Groove/2.0/Spaces/" version="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="./Core.xsd" namespace="http://webservices.groove.net/Groove/2.0/Core/" />
  <xs:import schemaLocation="./Events.xsd" namespace="http://webservices.groove.net/Groove/2.0/Events/" />
  <xs:complexType name="Version">
    <xs:sequence>
      <xs:element name="Major" type="xs:int" />
      <xs:element name="Minor" type="xs:int" />
      <xs:element name="Custom" type="xs:int" />
      <xs:element name="Sequence" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Space">
    <xs:sequence>
      <xs:element name="URI" type="xs:anyURI" />
      <xs:element name="Name" type="xs:string" />
      <xs:element name="Description" type="xs:string" />
      <xs:element name="Created" type="xs:dateTime" />
      <xs:element name="Modified" type="xs:dateTime" />
      <xs:element name="Local" type="xs:boolean" />
      <xs:element name="IdentityURL" type="xs:anyURI" />
      <xs:element name="Tools" type="xs:anyURI" />
      <xs:element name="Members" type="xs:anyURI" />
      <xs:element name="Unread" type="xs:long" />
      <xs:element name="Type" type="xs:anyURI" />
      <xs:element name="LocalURI" type="xs:anyURI" />
      <xs:element minOccurs="0" maxOccurs="1" name="Version" type="tns:Version" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SpaceList">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Space" type="tns:Space" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SpaceAddEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="Space" type="tns:Space" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SpaceRenameEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="Space" type="tns:Space" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SpaceDeleteEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="SpaceURI" type="xs:anyURI" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Create">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Space" type="tns:Space" />
        <xs:element minOccurs="0" name="CSTURI" type="xs:anyURI" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="CreateResult" type="xs:anyURI" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateInvitationFile">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Role" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateInvitationFileResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="CreateInvitationFileResult" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateGrooveFileSharingSpace">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="FolderPath" type="xs:string" />
        <xs:element name="DisplayName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateGrooveFileSharingSpaceResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="CreateGrooveFileSharingSpaceResult" type="xs:anyURI" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateFromGSA">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="GSAContents" type="xs:base64Binary" />
        <xs:element name="Name" type="xs:string" />
        <xs:element name="Passphrase" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateFromGSAResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="CreateFromGSAResult" type="xs:anyURI" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateFromGSAByRef">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="URI" type="xs:anyURI" />
        <xs:element name="Name" type="xs:string" />
        <xs:element name="Passphrase" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateFromGSAByRefResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="CreateFromGSAByRefResult" type="xs:anyURI" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ExportAsArchive">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="FileURI" type="xs:anyURI" />
        <xs:element name="IncludeMembers" type="xs:boolean" />
        <xs:element name="IncludeData" type="xs:boolean" />
        <xs:element name="Passphrase" type="xs:string" />
        <xs:element name="ReadOnly" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ExportAsArchiveResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="Read">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="SpaceType" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ReadResult" type="tns:SpaceList" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadSpace">
    <xs:complexType />
  </xs:element>
  <xs:element name="ReadSpaceResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ReadSpaceResult" type="tns:Space" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Update">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Space" type="tns:Space" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="Delete">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="AllDevices" type="xs:boolean" />
        <xs:element name="LastManager" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="UpdateUnreadMark">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="UnreadState" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateUnreadMarkResponse">
    <xs:complexType />
  </xs:element>
</xs:schema>